Mình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Thông báo
Collapse
No announcement yet.
{HELP} Dùng VDK tạo reset cho chính nó !
Collapse
X
-
Nguyên văn bởi thanhlonguit Xem bài viếtMình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Do đó nếu nối PORT1.2 vào chân Reset thì khi nó không thể thoát khỏi trạng thái reset được do PORT1.2 luôn là mức 1.
Có thể dùng kiểu khi có mức 0 ở chân P1.1 thì cho chạy lệnh ORG 0000H.
Comment
-
Nguyên văn bởi chung1608 Xem bài viếtreset cho VDK ko nhất thiết phải tác động vào chân reset, bạn có thể dùng lệnh nhảy lên đầu chương trình chính là xem như reset rồi
Nguyên văn bởi duong_act Xem bài viết8051 (89C51) bị reset ở mức 1 và khi nó đang reset thì các PORT 1,2,3 ở mức cao.
Do đó nếu nối PORT1.2 vào chân Reset thì khi nó không thể thoát khỏi trạng thái reset được do PORT1.2 luôn là mức 1.
Có thể dùng kiểu khi có mức 0 ở chân P1.1 thì cho chạy lệnh ORG 0000H.
Nếu chỉ nhảy về đầu chương trình đã gọi là Reset thì sao người ta còn nghĩ ra Watchdog trong, Watchdog ngoài..
Cho triệt để nên dùng Watchdog ngoài. Đơn giản thì dùng mạch RC sao cho khi Reset Logic của chân PORT1.2 không tác động được vào chân Reset lập tức mà bị "hãm lại một chút", Xịn hơn thì dùng IC chuyên dụng, Vd MAX1232...Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Nguyên văn bởi Acxen_lupine Xem bài viếtVậy chưa phải là Reset vì các biến trong RAM, các ngoại vi sẽ không bị xóa... Rất có thể làm loạn chương trình...
Bạn duong_act nói đúng 1 nửa (nửa trên)...
Nếu chỉ nhảy về đầu chương trình đã gọi là Reset thì sao người ta còn nghĩ ra Watchdog trong, Watchdog ngoài..
Cho triệt để nên dùng Watchdog ngoài. Đơn giản thì dùng mạch RC sao cho khi Reset Logic của chân PORT1.2 không tác động được vào chân Reset lập tức mà bị "hãm lại một chút", Xịn hơn thì dùng IC chuyên dụng, Vd MAX1232...
Comment
-
1. Đồng ý với các bạn là RESET ngoài hay bằng Watchdog trong sẽ không làm thay đổi giá trị hiện thời của INTERNAL RAM... cái này tôi nhầm, tôi đã xem lại!!!
2. Tuy nhiên nếu nói như bạn chung68:
Nguyên văn bởi chung1608 Xem bài viết89 khi đang chạy mà bị reset cứng thì nó chỉ trả giá trị 0000h cho thanh ghi PC để trở về địa chỉ ORG 0000h thôi, giá trị của RAM vẫn đc giữa nguyên chỉ có các thanh ghi port mới trở về mặc định 0xFF.
3. Xin trả lời bạn duong_act:
Nhu cầu về Watchdog trong hay ngoài là nhằm đồng loạt đưa hệ thống (bao gồm CPU, SFRs...) về trạng thái mặc định ban đầu nhằm thoát khỏi 1 trạng thái xung đột hay bế tắc nào đó. (vd: tràn ngăn xếp chẳng hạn)
4. Tóm lại, ý của tôi là nếu làm theo cách của các bạn đưa ra (chỉ cho PC trỏ về 0000h) thì:
- Chỉ đơn thuần là làm cho chương trình được chạy lại từ đầu.
- Không giải quyết được vấn đề hệ thống đang rối loạn.
- không đạt mục đích của RESET đôi khi còn gây phản tác dụng. Cái phản tác dụng nhất ở đây là ngăn xếp sẽ tiếp tục đầy lên... nếu ta không nhớ xóa nó khi mới bắt đầu chương trình.
Tôi xin nhắc lại cái đáng giá nhất của RESET là việc đồng loạt đưa .... về trạng thái mặc định ban đầu, kể cả con trỏ ngăn xếp (SP), Thanh ghi Interrupt, Timer/Couter...Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Nguyên văn bởi thanhlonguit Xem bài viếtMình dùng tính hiệu của 8051 để reset nó nhưng sao không được, nó cứ reset liên tục. Ví dụ mình code khi có logic 0 vào port 1.1 thì port 1.2 tạo ra tín hiệu, mình lấy tín hiệu đó để reset nó (có thể dùng wa relay), nhưng nó cứ bị reset liên tục.
Còn nếu là 89c thì bác có thể mắc mạch 555 tạo xung, sau mỗi chu kỳ định sẵn thì đưa xung ra reset lại 555, nếu vì lý do nào đó mà 89 bị treo thì nó sẽ dc 555 reset lại- Mạch nạp vdk 8051, AVR, PIC, EEPROM
- Linh kiện điện tử cho sinh viên
Comment
-
Nguyên văn bởi Acxen_lupine Xem bài viết1. Đồng ý với các bạn là RESET ngoài hay bằng Watchdog trong sẽ không làm thay đổi giá trị hiện thời của INTERNAL RAM... cái này tôi nhầm, tôi đã xem lại!!!
2. Tuy nhiên nếu nói như bạn chung68:
Sẽ là thiếu vì tất cả các SFRs (chứ không phải chỉ có các port) sẽ đồng loạt trở về giá trị mặc định sau 2 chu kỳ máy.
3. Xin trả lời bạn duong_act:
Nhu cầu về Watchdog trong hay ngoài là nhằm đồng loạt đưa hệ thống (bao gồm CPU, SFRs...) về trạng thái mặc định ban đầu nhằm thoát khỏi 1 trạng thái xung đột hay bế tắc nào đó. (vd: tràn ngăn xếp chẳng hạn)
4. Tóm lại, ý của tôi là nếu làm theo cách của các bạn đưa ra (chỉ cho PC trỏ về 0000h) thì:
- Chỉ đơn thuần là làm cho chương trình được chạy lại từ đầu.
- Không giải quyết được vấn đề hệ thống đang rối loạn.
- không đạt mục đích của RESET đôi khi còn gây phản tác dụng. Cái phản tác dụng nhất ở đây là ngăn xếp sẽ tiếp tục đầy lên... nếu ta không nhớ xóa nó khi mới bắt đầu chương trình.
Tôi xin nhắc lại cái đáng giá nhất của RESET là việc đồng loạt đưa .... về trạng thái mặc định ban đầu, kể cả con trỏ ngăn xếp (SP), Thanh ghi Interrupt, Timer/Couter...
Comment
-
Nguyên văn bởi duong_act Xem bài viếtNhưng chủ top đâu có dùng để thoát trạng thái rối loạn hay mắc kẹt ở đâu đó mà là chủ ý reset khi có tác động mức 1 ở chân nào đó kia mà. Còn việc reset khi lỗi thì đượng nhiên là WDT rồi. Cái này thì không bàn cãi.Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Nguyên văn bởi duong_act Xem bài viếtỜ bạn chỉ tôi cách mà Reset không chạy lại chương trình từ đầu rồi tôi nói tiếp
Bạn thừa sức nghĩ ra mà... đúng 1 tháng nữa nếu bạn vẫn chưa nghĩ ra tôi sẽ lập 1 topic mới về vấn đề này. Nếu bạn nghĩ ra thì nhờ bạn dành chút thời gian để giảng giải cho những anh em chưa biết nhé.Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
Nguyên văn bởi Acxen_lupine Xem bài viếtHơ, cái này thì có khó gì đâu...
Bạn thừa sức nghĩ ra mà... đúng 1 tháng nữa nếu bạn vẫn chưa nghĩ ra tôi sẽ lập 1 topic mới về vấn đề này. Nếu bạn nghĩ ra thì nhờ bạn dành chút thời gian để giảng giải cho những anh em chưa biết nhé.
Comment
Bài viết mới nhất
Collapse
-
bởi bqvietServo cuối cùng vẫn chỉ là điều chỉnh tốc độ và đọc phản hồi vị trí
Qua cổng song song LPT cổ
https://www.electronicsforu.com/elec...eed-controller
Qua cổng USB - xem thêm đám FT232RL-
Channel: Điện tử công nghiệp
22-11-2024, 15:56 -
-
bởi thiennam0703Em đang tìm hiểu cách xây dựng chương trình điều khiển động cơ Servo Yaskawa bằng máy tính tuy nhiên khi tìm kiếm trên mạng các hướng dẫn thì thường là điều khiển bằng vi điều khiển hoặc điều khiển bằng PLC hay điều khiển động cơ...
-
Channel: Điện tử công nghiệp
22-11-2024, 15:32 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi bacthoMình cũng bị như vậy mà chưa biết ở đâu
-
Channel: Vi điều khiển AVR
21-11-2024, 21:00 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi nhathung1101Câu trả lời là không dùng được.
Hai lớp dán mặt trước và mặt sau, gọi là film phân cực. Muốn hiểu rõ về nó thì chịu khó search nhé. Ở đây có rất nhiều chó cứ ngửi thấy phân là sủa nhặng, nên không giải thích nhiều....-
Channel: Thiết bị điện tử cá nhân
21-11-2024, 16:20 -
-
Comment on Tổng hợp các thông tin về mạch nạp cho AVRbởi Memem
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
Trả lời cho Tổng hợp các thông tin về mạch nạp cho AVRbởi MememMọi người ơi cho em hỏi cái này ạ, hiện tại em đang làm btl về hiển thị giá trị nhiệt độ trên led 7 thanh sử dụng atmega16, code em chạy trên mô phỏng rất oke nhưng khi lắp qua mạch thực thì bị lỗi ở led đầu tiên bị lỗi như thế này...
-
Channel: Vi điều khiển AVR
21-11-2024, 15:10 -
-
bởi mantruongepuNhờ cả nhà tìm giúp mình thông tin IC này với, thấy ghi 943B W58BAL mà mình tìm mấy ngày nay không được, nó được đóng gói dạng TSSOP 8. Cám ơn cả nhà....
-
Channel: Điện tử dành cho người mới bắt đầu
20-11-2024, 14:40 -
-
bởi TherulCảm ơn bạn đã chia sẻ câu chuyện và quá trình phát triển sản phẩm của mình. Trước tiên, thật may mắn khi bạn vượt qua tai nạn và vẫn giữ được niềm đam mê cũng như khả năng sáng tạo trong lĩnh vực kỹ thuật. Việc bạn tiếp tục...
-
Channel: từ PIC tới dsPIC
20-11-2024, 07:20 -
-
Trả lời cho Em muốn hỏi mọi người về nguyên lý hoạt động, tần số của mạch công suất trong máy rửa siêu âm ạ.bởi nguyendinhvanBạn nên nghiên cứu cái chấn lưu đèn ống Compact fluorescent lamp hay đèn compact trước đã. Nó rẻ đỡ tốn kém.
Sau khi hiểu rõ rồi thì chuyển sang cái mạch này.
Ở cái chấn lưu, tần số của nó linh tinh lắm, tùy điện áp nguồn, tùy...-
Channel: Hỗ trợ học tập
19-11-2024, 22:44 -
Comment